﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tools.Framework
{
    public static class EnumHelper
    {
        public class EnumClass
        {
            public int Key { set; get; }
            public string Value { set; get; }
        }


        public static List<EnumClass> EnumToList<T>()
        {
            List<EnumClass> list = new List<EnumClass>();
            foreach (int i in Enum.GetValues(typeof(T)))
            {
                list.Add(new EnumClass()
                {
                    Key = i,
                    Value = Enum.GetName(typeof(T), i)
                });
            }
            return list;
        }


        public enum CheckProject
        {
            瞬态工况法 = 1,
            稳态工况法 = 2,
            双怠速法 = 3,
            加载减速法 = 4,
            自由加速法 = 5
        }


        /// <summary>
        /// 地区
        /// </summary>
        public enum Area
        {
            省 = 1,
            市 = 2,
            县 = 3
        }


        /// <summary>
        /// 默认4张照片
        /// </summary>
        public enum TestImageType
        {
            检测开始=1,
            探头插入=2,
            检测过程中=3,
            检测结束=4
        }


        /// <summary>
        /// 检测类别
        /// </summary>
        public enum CheckType
        {
            //01在用车年检，02转入检验 03转出检验 04 新车检验
            在用车年检 = 1,
            转入检验 = 2,
            转出检验 = 3,
            新车检验 = 4
        }



        /// <summary>
        /// 项目&过程业务状态
        /// </summary>
        public enum BusinessType
        {
            过程开始 = 0,
            项目开始 = 1,
            数据写入 = 2,
            项目结束 = 3,
            过程结束 = 4
        }


        /// <summary>
        /// 预警类型
        /// </summary>
        public enum WarmType
        {
            过程预警 = 1,
            结果预警 = 2,
            初复检预警 = 3,//（初复检方法是否一致）
            环境参数预警 = 4, //(超过35度不能用工况法，未超过35度必须用工况法)，
            探头插入深度预警 = 5//（CO+2CO 百分比和小于6%）
        }

        /// <summary>
        /// 加载减速状态枚举
        /// </summary>
        public enum LugDownProcessDataState
        {
            功率扫描 = 1,
            准备加速阶段 = 2,
            点采样100 = 3,
            点采样90 = 4,
            点采样80 = 5
        }

        /// <summary>
        /// 双怠速过程状态枚举
        /// </summary>
        public enum TwoSpeedIdleState
        {
            怠速30秒测量 = 1,
            怠速准备 = 2,
            高怠速30秒测量 = 3,
            高怠速准备 = 4
        }
        public enum checkType
        {
            不免检 = 0,
            免检 = 1
        }
        /// <summary>
        /// 发放类型
        /// </summary>
        public enum SendType
        {
            新车发放 = 1,
            检测发放 = 2,
            补发 = 3
        }
        /// <summary>
        /// 路检检测方法
        /// </summary>
        public enum RoadCheckType
        { 
            自由加减速=1,
            双怠速=2
        }
    }
}
